This is a list of changes in Typo 4.1. This is aimed at developers and theme
creators, not end-users.

URL Generation
--------------

URLs are now generated based on the blog base_url, not the current
controller's base URL. This has a number of impacts:

  * If the base_url setting is wrong, most links will be broken.
  * We can now generate permalink URLs directly from models without needing a
    controller object.
  * We can (and have) removed all of the controllers parameters passed around 
    to text filters and notifiers.

We've added a number of methods for generating URLs directly from models. In
specific, all models that make sense have a 'permalink_url' method, and we're
adding methods like 'trackback_url' and 'feed_url' where they make sense.
There are *way* too many definitions of common URLs within Typo, and we're
moving all of them into the models.


Text Filters
------------

The text filter API has been overhauled. Since we no longer need a controller
object everywhere, we've been able to simplify the API substantially. We've
also moved text filters from the Rails components/ directory into Rails
plugins, in vendor/plugins/typo-textfilter-*. It should now be possible to
manage text filters using the usual plugin management mechanisms.


Helper Cleanup
--------------

A bunch of redundant helpers have been deprecated. Look at
app/helpers/application_helper.rb for a list. All calls to deprecated helpers
have been removed from the Typo tree, but some out-of-tree plugins and themes
may still call them. Watch Typo's log for deprecation warnings.

Here's a partial list of what's been removed:

  * ApplicationHelper.config_value(:foo): replace with this_blog.foo
  * ApplicationHelper.config[:foo]: replace with this_blog.foo
  * ApplicationHelper.server_url_for: just use url_for.
  * ApplicationHelper.url_of(item): use item.permalink_url
  * ApplicationHelper.*_url(item): use item.permalink_url
  * XmlHelper.*_link(item): use item.permalink_url


Removal of body_html and friends
--------------------------------

The content table's body_html and extended_html fields are gone. They've
always been a bit odd, because they're a cache of text_filter(body) and
text_filter(extended). They've moved out of the database and into the fragment
cache. As a practical measure users shouldn't see a difference, however the
body_html and extended_html methods have been deprecated; use html(:body) or
html(:extended).


Admin revamping
---------------

The admin has been rebuilt to become more functionnal. The previous 
organization was based on the MVC model, this one on ergonomics. 
There is still a lot of work to be done, like having a lovely Aqua 2.0 like 
CSS to look cleaner.


Internationalization and localization
-------------------------------------

Typo now supports foreign languages. The Localization plugin has been used, 
and the application now supports French.
More translators are needed to support as much languages as possible.


Comments auto moderation
------------------------

Comments and trackbacks can now be directly sent to moderation before being 
published. An option is avaliable in the settings.
